<template>
  <div>
    <h1>人员列表</h1>
    <h3 style="color:red">上方组件求和为:{{ sum }}</h3>
    <h3>列表中第一个人名字是:{{ firstPersonName }}</h3>
    <input type="text" placeholder="请输入名字" v-model="name">
    <button @click="add">添加</button>
    <button @click="addWang">添加一个姓王的人</button>
    <button @click="addPersonServer">添加一个随机人</button>
    <ul>
        <li v-for="p in personList" :key="p.id">{{p.name}}</li>
    </ul>
  </div>
</template>

<script>
import { nanoid } from 'nanoid';
export default {
    name:'Person',
    data(){
      return{
        name:''
      }
    },
    computed:{
      personList(){
        return this.$store.state.personOptions.personList
      },
      sum(){
        return this.$store.state.countOptions.sum
      },
      firstPersonName(){
        return this.$store.getters['personOptions/firstPersonName']
      }
    },
    methods:{
      add(){
        const personObj = {id:nanoid(),name:this.name}
        // console.log(personObj);
        this.$store.commit('personOptions/ADD_PERSON',personObj)
      },
      addWang(){
        const personObj = {id:nanoid(),name:this.name}
        this.$store.dispatch('personOptions/addPersonWang',personObj)
      },
      addPersonServer(){
        this.$store.dispatch('personOptions/addPersonServer')
      }
    }
}
</script>

<style>

</style>